Yes, G43 Hn will apply the X,Y and length offsets of tool 'n' (which should be the same as the tool mounted with M6 Tn).
Dynomotion provides some C samples which include showing how to use a tool height setter and send the information dynamically back to the CNC (KMotionCNC) running on the PC. But I think you would only want to do this if you were actually changing tools in the spindle. If you just have two spindles with fixed tools, then there would be no need to re-measure the tool each time.
From memory, it is also possible to send XY tool offsets back to the PC, so it would be possible for your tool change (M6) code to enable the appropriate spindle as well as select one of the two XY offset data, appropriate to the spindle.
For example, you could make is so that odd numbered tools use spindle 1, and even numbers use spindle 2. So the M6 code could just look at the tool number and bring the appropriate spindle into position and put the other one out of the way. If the spindles were on a Y offset, then it could set the Y offset to 0 for spindle 1, and say 100 for spindle 2.
Regards,